<template>
    <div>
        <template v-for="item in this.menuList">
            <!-- 通过迭代 后台接口返回的json数据，来生成 el-menu-->
            <el-submenu :disabled="item.disabled" :index="item.id+''" :key="item.id+''" v-if="item.children.length>0">
                <template slot="title">
                    <i :class="item.icon"></i>
                    <span slot="title">{{ item.menuName }}</span>
                </template>

                <!-- 子菜单 json 数据中的 children 对象数组-->
                <menu-tree :menu-list="item.children">

                </menu-tree>
            </el-submenu>

            <el-menu-item v-else :disabled="item.disabled" :index="item.url+''"
                          :route="item.url+''" :key="item.id" style="padding-left: 50px;" @click="savePath(item.url)">
                <i :class="item.icon"></i>
                <span slot="title">{{ item.menuName }}</span>
            </el-menu-item>

        </template>
    </div>
</template>

<script>
    export default {
        name: "MenuTree",
        props: ['menuList'],
        methods: {
            // 保存激活路径
            savePath(path){
                window.sessionStorage.setItem("activePath", path);
                // 调用 Main.vue 的 activePath
                this.activePath = path;
            }
        }
    }
</script>

<style lang="less" scoped>
    /*实现了一个溢出处理*/
    .el-menu--collapse span,
    .el-menu--collapse i.el-submenu__icon-arrow{
        height: 0;
        width: 0;
        overflow: hidden;
        visibility: hidden;
        display: inline-block;
    }
</style>
